Current electronic devices employ more and more resources to implement multiple applications requiring a satisfactory level of security, such as payment applications for example.
To do this, sensitive applications and data are generally stored in masked form and they must be unmasked to be used.
Thus, the masked data must be unmasked prior to each time they are used, since to maintain their security they are not stored in plain form in the electronic device.
Additionally, in the case where the masked data represent instructions for implementing an application, the number of bits to be unmasked prior to the execution of this application in the electronic device is sometimes very large. Thus, the unmasking can be tedious in itself.
The expression “data in masked form” means that the data are not in plain form, in other words that they are concealed or hidden, i.e. unusable in their present state.
Conversely, the expression “unmasked data” means that the data are in plain form and that they can be executed, processed or used in their present state.
These unmasked data are vulnerable to a spying device for example, which is why they are generally not stored in this form in electronic devices.
Generally, data can be masked using a cryptographic algorithm defining an algorithm for ciphering these data. Correspondingly, masked data can be unmasked using a cryptographic algorithm defining an algorithm for deciphering these masked data.
Thus, such ciphering and deciphering algorithms are generally designed so as to be used jointly, typically to mask and unmask data, within one and the same cryptographic algorithm.
In particular, standard cryptographic algorithms exist that define the respective roles of the ciphering and deciphering algorithms. Among the standard cryptographic algorithms currently used in electronic devices, block cipher algorithms are particularly well known, such as for example the AES (Advanced Encryption Standard) defined in the ISO/IEC 18033-3 standard, section 5.2.
Although it is a symmetric algorithm (the deciphering consists in inverting the ciphering operations), the AES exhibits the peculiarity of using resources asymmetrically in the course of the ciphering and deciphering. Specifically, the ciphering takes less computing time than the deciphering.
In the context of electronic devices with limited memory, such as smart cards, the difference in performance between the ciphering and deciphering of data can be up to 30%.
The computing time due to these security operations is therefore considerable, particularly when the number of bits of the data to be unmasked is very large (e.g. an application) or else when the data are unmasked each time they are used.